package com.aliyun.flashsale.portal.service;

import javax.validation.constraints.Min;

import com.aliyun.flashsale.portal.model.ProductInfoDTO;
import com.aliyun.product.client.model.ProductDTO;
import org.springframework.validation.annotation.Validated;

/**
 * 商品查询服务
 *
 * 
 * @date 2024/11/27
 */
@Validated
public interface ProductQueryService {

    /**
     * 获取商品信息
     *
     * @param flashSaleProductId 商品 ID
     * @return {@link ProductDTO }
     */
    ProductInfoDTO getProductInfo(@Min(value = 1, message = "商品ID无效") long flashSaleProductId);

    /**
     * 获取商品信息
     *
     * @param flashSaleProductId 商品 ID
     * @param userId             用户ID
     * @return {@link ProductDTO }
     */
    ProductInfoDTO getProductAndUserPurchaseInfo(@Min(value = 1, message = "商品ID无效") long flashSaleProductId,
        @Min(value = 1, message = "用户ID无效") long userId);

}